package com.zmn.plat.dubbo.constant;

import java.util.ArrayList;
import java.util.List;

import com.zmn.common.dictionary.DictModel;
import com.zmn.common.dto.VtDTO;

/**
 * 描述：师傅duboo接口共用状态
 *
 * @author wangjie
 * @version v1.0
 * @since 2018/12/10 15:07
 */
public class MasterConsts {

    /**
     * 描述:申请平台：1H5，2APP，3其它
     */
    public static final Integer APPLY_MATER_H5 = 1;
    public static final Integer APPLY_MATER_APP = 2;
    public static final Integer APPLY_MATER_OTHER = 3;

    /**
     * 描述:申请类型：1自己申请，2熟人推荐
     */
    public static final Integer APPLY_MATER_TYPE_ONESELF = 1;
    public static final Integer APPLY_MATER_APP_ACQUAINTANCE = 2;

    /**
     * 师傅状态：1已转正(正常)，2请假中(停止派单) 3已离职， 4试用， 5转正审核中， 6待岗中， 7离职审核中， 8调岗审核中， 9转正审核失败， 10停单中， 11调岗审核失败， 12离职审核失败, 13 已调岗
     */
    public final static int NORMAL = 1;
    public final static int LEAVE = 2;
    public final static int DEPARTURE = 3;
    public final static int TRIAL = 4;
    public final static int POSITIVE_UNDER = 5;
    public final static int WAITING = 6;
    public final static int DEPARTURE_UNDER = 7;
    public final static int THE_POST_UNDER = 8;
    public final static int POSITIVE_UNDER_FAILURE = 9;
    public final static int STOP_ORDER = 10;
    public final static int THE_POST_UNDER_FAILURE = 11;
    public final static int DEPARTURE_UNDER_FAILURE = 12;
    public final static int MODULATED_DUTY = 13;

    /**
     * 描述: 地图上服务范围类型 ：1多边形，2圆形
     */
    public final static int PLAT_MAST_SCOPE_SCOPETYPE_POLYGON = 1;
    public final static int PLAT_MAST_SCOPE_SCOPETYPE_CIRCULAR = 2;

    /**
     * 描述:新申请
     */
    public final static int PLAT_MAST_MASTER_NEW_APPLY = 10;
    /**
     * 描述:信息有误(师傅申请)
     */
    public final static int PLAT_MAST_MASTER_INFORMATION_WRONG = 20;
    /**
     * 描述:审核未通过
     */
    public final static int PLAT_MAST_MASTER_AUDIT_FAILED = 30;
    /**
     * 描述:审核通过
     */
    public final static int PLAT_MAST_MASTER_APPLY_PASS = 40;

    /**
     * 描述:获得代理商类型 （代理商标志：1直营，2加盟，3承包 ps:对应原型上的合作类型）
     *
     * @author wangjie
     * @since 2018/10/30 10:14
     * @updater wangjie 2019-10-10 业务需求变动，类型变更为 直营，非直营
     */
    public static List<DictModel> getAgentList() {
        return new ArrayList<DictModel>(4) {
            {
                add(new DictModel(1, "直营"));
                add(new DictModel(2, "非直营"));
            }
        };
    }

    /**
     * 描述: 请假类型：1事假， 2病假， 3婚假， 4年假， 5产假， 6丧假， 7其它
     *
     * @return java.util.ArrayList<com.zmn.common.dto.VtDTO>
     * @author wangjie
     * @since 2018/11/8 16:25
     */
    public static ArrayList<VtDTO> getLeaveTypeList() {
        return new ArrayList<VtDTO>(7) {
            {
                add(new VtDTO(1, "事假"));
                add(new VtDTO(2, "病假"));
                add(new VtDTO(3, "婚假"));
                add(new VtDTO(4, "年假"));
                add(new VtDTO(5, "产假"));
                add(new VtDTO(6, "丧假"));
                add(new VtDTO(7, "其它"));
            }
        };
    }

    /**
     * 描述:师傅保险类型
     *
     * @author wangjie
     * @since 2018/10/26 10:14
     */
    public static List<DictModel> getMastInsuranceTypeList() {
        List<DictModel> items = new ArrayList<>();
        items.add(new DictModel(1, "普通保险"));
        items.add(new DictModel(2, "按单保险"));
        return items;
    }

    /**
     * 描述:性别（集合）
     *
     * @return java.util.List<com.zmn.common.dictionary.DictModel>
     * @author wangjie
     * @since 11:43 2019/5/30
     **/
    public static List<DictModel> getGenderList() {

        List<DictModel> items = new ArrayList<>();
        items.add(new DictModel(1, "男"));
        items.add(new DictModel(2, "女"));
        return items;
    }

    /**
     * 描述:获得户口类型 1农业，2非农业
     *
     * @author wangjie
     * @since 2018/10/30 10:14
     */
    public static List<DictModel> getCensusRegisterTypeList() {
        return new ArrayList<DictModel>(2) {
            {
                add(new DictModel(1, "农业"));
                add(new DictModel(2, "非农业"));
            }
        };
    }

    /**
     * 描述:获得学历 （初中及以下，高中，大专，本科及以上）
     *
     * @author wangjie
     * @since 2018/10/30 10:14
     */
    public static List<DictModel> getEducationList() {
        return new ArrayList<DictModel>(4) {
            {
                add(new DictModel(1, "初中及以下"));
                add(new DictModel(2, "高中"));
                add(new DictModel(3, "大专"));
                add(new DictModel(4, "本科及以上"));
            }
        };
    }

    /**
     * 描述:师傅转正状态：1.待审核，2审核通过，3审核驳回
     *
     * @return java.util.ArrayList<com.zmn.common.dto.VtDTO>
     * @author wangjie
     * @since 2018/11/9 14:32
     */
    public static ArrayList<VtDTO> getBecomeStatueList() {
        return new ArrayList<VtDTO>(3) {
            {
                add(new VtDTO(1, "待审核"));
                add(new VtDTO(2, "审核通过"));
                add(new VtDTO(3, "审核驳回"));
            }
        };
    }

    /**
     * 描述:状态：10新申请，20信息有误，30审核未通过，40审核通过
     *
     * @author wangjie
     * @since 2018/11/1 22:03
     */
    public static List<VtDTO> getApplyStatusList() {
        return new ArrayList<VtDTO>(4) {
            {
                add(new VtDTO(10, "新申请"));
                add(new VtDTO(20, "信息有误"));
                add(new VtDTO(30, "审核未通过"));
                add(new VtDTO(40, "审核通过"));
            }
        };
    }

}
